package fassa

import org.springframework.web.multipart.commons.CommonsMultipartFile
import java.text.*

class Arquivo {

    static int controle = 0;
	static validTypes = ["application/msword",
						 "application/vnd.openxmlformats-officedocument.wordprocessingml.document"]
						// "application/pdf"
	String nomeOriginal
	String extensao
	String nomeSistema
	Trabalho trabalho
	Date dataAlteracao
	CommonsMultipartFile file
	String webRootDir
	
	
	public boolean isSizeOk() {
		print file.getSize()
		if (file.getSize() < 17500000)
			return true
		return false
	}
	
	public boolean isTypeOk() {
		print file.getContentType()
		return this.validTypes.contains(file.getContentType())
	}
	
	
	public boolean transferToServer() {
		if(!file.empty) {
			
			
			def nomeOriginalExtensao = file.getOriginalFilename().split("\\.")
			if (nomeOriginalExtensao.size() == 2) {
				this.nomeOriginal = nomeOriginalExtensao[0];
				this.extensao = nomeOriginalExtensao[1]
			} else {
				for (int x = 0; x < nomeOriginalExtensao.size() - 1; x++) {
					this.nomeOriginal += nomeOriginalExtensao[x]
				}
				this.extensao = nomeOriginalExtensao[nomeOriginalExtensao.size() - 1]
			}
	
			
			try {
				def df = new SimpleDateFormat("dd-MM-yyyy_kmsS");
				def now = Calendar.getInstance().getTime();        
				def novoNome = df.format(now);
				
				this.nomeSistema = novoNome + "." + this.extensao;
			} catch (ParseException e) {
				if (!fassa.Arquivo.count()) { 
					this.nomeSistema = "arquivo/1"
				} else {
					this.nomeSistema = "arquivo/" + (Arquivo.list(max:1, sort:"id", order:"desc").get(0).getId() + 1)
				}
			}
						
			def arquivosDir = new File(this.webRootDir, "..images/arquivo/")
			arquivosDir.mkdirs()
			
			
			file.transferTo( new File( arquivosDir, this.nomeSistema))
			return true;
		}
		return false;
	}
		
	static belongsTo = Trabalho
		
    static constraints = {
    	trabalho nullable:true, blank:true
    }
    
    static transients = ["file", "webRootDir"]
}
